﻿#pragma once

#include <string>
#include <unordered_map>
#include <vector>
#include <map>


// 这是一个字典，用于定义字典管理

class WordDic
{ 
public:
    typedef std::vector<std::string> StringListType; // 候选词列表类型

    WordDic(); 
    ~WordDic(); 

    //获取候选词列表
    bool getCandidateList(const std::string &code, StringListType &out_list);

    // 编码的候选词列表，如果候选词列表中已经有相同的词，就不添加
    void addWord(const std::string &code, const std::string &word); 

    void setWords(std::vector<std::pair<std::string, std::string>> &words);

    //清空字典
    void clear();

private:
    std::unordered_map<std::string,StringListType> _dic; 
    
};